
extern JavaVM *gJavaVM;

int initJavaVM(JNIEnv *env);

JNIEnv *getEnvInfo(int *detach);

int detach_thread(int needDetach);

jstring stoJstring(JNIEnv *env, const unsigned char *buffer, unsigned char bufferLen);

void jbyteArray_to_u8(JNIEnv *e, jbyteArray buffer, unsigned char *dest);
void jbyteArray_to_s8(JNIEnv *e, jbyteArray buffer, char *dest);

unsigned char *jbyteArray_to_charArray(JNIEnv *e, jbyteArray buffer, int length);

jbyteArray chars_to_jbyteArray(JNIEnv *env, char *data, int len);

jintArray chars_to_jintarray(JNIEnv *env, int *data, int len);

void jstringToString(JNIEnv *env, jstring jstr, char *outStr, int len);

void jintArrayToChars(JNIEnv *env, jintArray jintArray1, int *outStr, int len);

void jbyteArrayToChars(JNIEnv *env, jbyteArray jbyteArray1, char *outStr, int len);

void dump_buffer2(char *head, char *buf, int length);

